package compilador.semantico;

import compilador.lexico.TipoToken;
import java.util.List;

/**
 * Representa as propriedades específicas de símbolos que possuem a categoria
 * 'registro'. Herda propriedades de tipo.
 *
 * @author Lucas S Bueno
 * @author Carlos H V Pinto
 */
public class PropriedadesRegistro extends PropriedadesTipo {

    private static int nroInstancias = 0; //variável que controla a identificação única de registros
    private List<PropriedadesSimboloBasico> simbolos;  //propriedades de símbolos que fazem parte do registro   

    public PropriedadesRegistro() {
        super("registro" + nroInstancias, TipoToken.Identificador, CategoriaSimbolo.Registro);
        //atribui ao nome um identificador único, já que registros que não são renomeados não possuem tal identificação
        String str = "registro" + nroInstancias; 
        setNome(str);
        setTipoBasico(str);
        nroInstancias++;
    }

    public List<PropriedadesSimboloBasico> getSimbolos() {
        return simbolos;
    }

    public void setSimbolos(List<PropriedadesSimboloBasico> simbolos) {
        this.simbolos = simbolos;
    }    
}
